
/*
Uploadify v1.6.2
Copyright (C) 2009 by Ronnie Garcia
Co-developed by Travis Nickels

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
var flashVer = -1;
if (navigator.plugins != null && navigator.plugins.length > 0) {
	if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
		var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
		var descArray = flashDescription.split(" ");
		var tempArrayMajor = descArray[2].split(".");
		var versionMajor = tempArrayMajor[0];
		var versionMinor = tempArrayMajor[1];
		var versionRevision = descArray[3];
		if (versionRevision == "") {
			versionRevision = descArray[4];
		}
		if (versionRevision[0] == "d") {
			versionRevision = versionRevision.substring(1);
		} else {
			if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
		}
		var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
	}
} else {
	if ($.browser.msie) {
		var version;
		var axo;
		var e;
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			version = axo.GetVariable("$version");
		}
		catch (e) {
		}
		flashVer = version.replace("WIN ", "").replace(",", ".");
	}
}
flashVer = flashVer.split(".")[0];
if (jQuery) {
	(function (a) {
		a.extend(a.fn, {fileUpload:function (b) {
			if (flashVer >= 9) {
				a(this).each(function () {
					settings = a.extend({uploader:"uploader.swf", script:"uploader.php", folder:"", height:30, width:110, cancelImg:"cancel.png", wmode:"opaque", scriptAccess:"sameDomain", fileDataName:"Filedata", displayData:"percentage", onInit:function () {
					}, onSelect:function () {
					}, onCheck:function () {
					}, onCancel:function () {
					}, onError:function () {
					}, onProgress:function () {
					}, onComplete:function () {
					}}, b);
					var d = location.pathname;
					d = d.split("/");
					d.pop();
					d = d.join("/") + "/";
					var f = "&pagepath=" + d;
					if (settings.buttonImg) {
						f += "&buttonImg=" + escape(settings.buttonImg);
					}
					if (settings.buttonText) {
						f += "&buttonText=" + escape(settings.buttonText);
					}
					if (settings.rollover) {
						f += "&rollover=true";
					}
					f += "&script=" + settings.script;
					f += "&folder=" + escape(settings.folder);
					if (settings.scriptData) {
						var g = "";
						for (var c in settings.scriptData) {
							g += "&" + c + "=" + settings.scriptData[c];
						}
						f += "&scriptData=" + escape(g);
					}
					f += "&btnWidth=" + settings.width;
					f += "&btnHeight=" + settings.height;
					f += "&wmode=" + settings.wmode;
					if (settings.hideButton) {
						f += "&hideButton=true";
					}
					if (settings.fileDesc) {
						f += "&fileDesc=" + settings.fileDesc + "&fileExt=" + settings.fileExt;
					}
					if (settings.multi) {
						f += "&multi=true";
					}
					if (settings.auto) {
						f += "&auto=true";
					}
					if (settings.sizeLimit) {
						f += "&sizeLimit=" + settings.sizeLimit;
					}
					if (settings.simUploadLimit) {
						f += "&simUploadLimit=" + settings.simUploadLimit;
					}
					if (settings.checkScript) {
						f += "&checkScript=" + settings.checkScript;
					}
					if (settings.fileDataName) {
						f += "&fileDataName=" + settings.fileDataName;
					}
					if (a.browser.msie) {
						flashElement = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + settings.width + "\" height=\"" + settings.height + "\" id=\"" + a(this).attr("id") + "Uploader\" class=\"fileUploaderBtn\"><param name=\"movie\" value=\"" + settings.uploader + "?fileUploadID=" + a(this).attr("id") + f + "\" /><param name=\"quality\" value=\"high\" /><param name=\"wmode\" value=\"" + settings.wmode + "\" /><param name=\"allowScriptAccess\" value=\"" + settings.scriptAccess + "\"><param name=\"swfversion\" value=\"9.0.0.0\" /></object>";
					} else {
						flashElement = "<embed src=\"" + settings.uploader + "?fileUploadID=" + a(this).attr("id") + f + "\" quality=\"high\" width=\"" + settings.width + "\" height=\"" + settings.height + "\" id=\"" + a(this).attr("id") + "Uploader\" class=\"fileUploaderBtn\" name=\"" + a(this).attr("id") + "Uploader\" allowScriptAccess=\"" + settings.scriptAccess + "\" wmode=\"" + settings.wmode + "\" type=\"application/x-shockwave-flash\" />";
					}
					if (settings.onInit() !== false) {
						a(this).css("display", "none");
						if (a.browser.msie) {
							a(this).after("<div id=\"" + a(this).attr("id") + "Uploader\"></div>");
							document.getElementById(a(this).attr("id") + "Uploader").outerHTML = flashElement;
						} else {
							a(this).after(flashElement);
						}
						a("#" + a(this).attr("id") + "Uploader").after("<div id=\"" + a(this).attr("id") + "Queue\" class=\"fileUploadQueue\"></div>");
					}
					a(this).bind("rfuSelect", {action:settings.onSelect}, function (j, h, i) {
						if (j.data.action(j, h, i) !== false) {
							var k = Math.round(i.size / 1024 * 100) * 0.01;
							var l = "KB";
							if (k > 1000) {
								k = Math.round(k * 0.001 * 100) * 0.01;
								l = "MB";
							}
							var m = k.toString().split(".");
							if (m.length > 1) {
								k = m[0] + "." + m[1].substr(0, 2);
							} else {
								k = m[0];
							}
							if (i.name.length > 20) {
								fileName = i.name.substr(0, 20) + "...";
							} else {
								fileName = i.name;
							}
							a("#" + a(this).attr("id") + "Queue").append("<div id=\"" + a(this).attr("id") + h + "\" class=\"fileUploadQueueItem\"><div class=\"cancel\"><a href=\"javascript:$('#" + a(this).attr("id") + "').fileUploadCancel('" + h + "')\"><img src=\"" + settings.cancelImg + "\" border=\"0\" /></a></div><span class=\"fileName\">" + fileName + " (" + k + l + ")</span><span class=\"percentage\">&nbsp;</span><div class=\"fileUploadProgress\" style=\"width: 100%;\"><div id=\"" + a(this).attr("id") + h + "ProgressBar\" class=\"fileUploadProgressBar\" style=\"width: 1px; height: 3px;\"></div></div></div>");
						}
					});
					if (typeof (settings.onSelectOnce) == "function") {
						a(this).bind("rfuSelectOnce", settings.onSelectOnce);
					}
					a(this).bind("rfuCheckExist", {action:settings.onCheck}, function (m, l, j, k, o) {
						var i = new Object();
						i.folder = d + k;
						for (var h in j) {
							i[h] = j[h];
							if (o) {
								var n = h;
							}
						}
						a.post(l, i, function (r) {
							for (var p in r) {
								if (m.data.action(m, l, j, k, o) !== false) {
									var q = confirm("Do you want to replace the file '" + r[p] + "'?");
									if (!q) {
										document.getElementById(a(m.target).attr("id") + "Uploader").cancelFileUpload(p);
									}
								}
							}
							if (o) {
								document.getElementById(a(m.target).attr("id") + "Uploader").startFileUpload(n, true);
							} else {
								document.getElementById(a(m.target).attr("id") + "Uploader").startFileUpload(null, true);
							}
						}, "json");
					});
					a(this).bind("rfuCancel", {action:settings.onCancel}, function (j, h, i, k) {
						if (j.data.action(j, h, i, k) !== false) {
							a("#" + a(this).attr("id") + h).fadeOut(250, function () {
								a("#" + a(this).attr("id") + h).remove();
							});
						}
					});
					a(this).bind("rfuClearQueue", {action:settings.onClearQueue}, function () {
						if (event.data.action() !== false) {
							a("#" + a(this).attr("id") + "Queue").contents().fadeOut(250, function () {
								a("#" + a(this).attr("id") + "Queue").empty();
							});
						}
					});
					a(this).bind("rfuError", {action:settings.onError}, function (k, h, j, i) {
						if (k.data.action(k, h, j, i) !== false) {
							a("#" + a(this).attr("id") + h + " .fileName").text(i.type + " Error - " + j.name);
							a("#" + a(this).attr("id") + h).css({border:"3px solid #FBCBBC", "background-color":"#FDE5DD"});
						}
					});
					a(this).bind("rfuProgress", {action:settings.onProgress, toDisplay:settings.displayData}, function (j, h, i, k) {
						if (j.data.action(j, h, i, k) !== false) {
							a("#" + a(this).attr("id") + h + "ProgressBar").css("width", k.percentage + "%");
							if (j.data.toDisplay == "percentage") {
								displayData = " - " + k.percentage + "%";
							}
							if (j.data.toDisplay == "speed") {
								displayData = " - " + k.speed + "KB/s";
							}
							if (j.data.toDisplay == null) {
								displayData = " ";
							}
							a("#" + a(this).attr("id") + h + " .percentage").text(displayData);
						}
					});
					a(this).bind("rfuComplete", {action:settings.onComplete}, function (k, h, j, i, l) {
						if (k.data.action(k, h, j, unescape(i), l) !== false) {
							a("#" + a(this).attr("id") + h).fadeOut(250, function () {
								a("#" + a(this).attr("id") + h).remove();
							});
							a("#" + a(this).attr("id") + h + " .percentage").text(" - Completed");
						}
					});
					if (typeof (settings.onAllComplete) == "function") {
						a(this).bind("rfuAllComplete", settings.onAllComplete);
					}
				});
			}
		}, fileUploadSettings:function (b, c) {
			a(this).each(function (d, f) {
				document.getElementById(a(this).attr("id") + "Uploader").updateSettings(d, f);
			});
		}, fileUploadStart:function (b) {
			a(this).each(function () {
				document.getElementById(a(this).attr("id") + "Uploader").startFileUpload(b, false);
			});
		}, fileUploadCancel:function (b) {
			a(this).each(function () {
				document.getElementById(a(this).attr("id") + "Uploader").cancelFileUpload(b);
			});
		}, fileUploadClearQueue:function () {
			a(this).each(function () {
				document.getElementById(a(this).attr("id") + "Uploader").clearFileUploadQueue();
			});
		}});
	})(jQuery);
}

